For modern computing devices, including traditional personal computers, as well as personal digital assistants, cellular telephones, and the like, network communicational abilities have become ubiquitous. As a result, an increasing amount of sensitive, personal, or otherwise secret information, is being communicated via network communications, thereby driving the development of more secure network communicational technology. Central to many secure network communicational paradigms is the notion of “authentication”, whereby two communicating devices, traditionally referred to as a “client” and “server”, verify one another and establish parameters for subsequent secure communications.
Many commonly used network communication protocols, however, do not support the notion of a communicational state and, instead, are “stateless”, such that each communication stands alone and does not require knowledge of prior communications. When using such stateless network communication protocols, computing devices acting as a client are often requested to authenticate themselves to computing devices acting as a server. For example, to render a page of information retrieved via the ubiquitous Hyper-Text Transfer Protocol (HTTP), a computing device acting as a client may make multiple requests for data. Because HTTP is a stateless protocol, each of those requests may generate a request for the client to authenticate itself.
Modern secure network communication protocols can require authentication that can comprise multiple exchanges between a computing device acting as a client and a computing device acting as a server, or that can comprise the exchange of relatively large amounts of data. Such authentication mechanisms, when combined with the multiple requests for authentication that may be made even within the context of simple actions, such as, for example, rendering a single page of data, can add substantial overhead to network communications, thereby decreasing the efficiency of such network communications and, consequently, increasing their cost in both time and resources.